import Router from '@koa/router';
import * as blogController from '../controllers/blog.controller';
import { authMiddleware } from '../middleware/auth';

const router = new Router({
  prefix: '/api/blogs',
});

// 公开路由（无需认证，只返回已发布的博客）
// 注意：这些路由必须在 authMiddleware 之前注册
router.post('/public/list', blogController.getPublicBlogList);
router.post('/public/detail', blogController.getPublicBlogDetail);

// 需要认证的路由
router.use(authMiddleware);

// 创建博客
router.post('/create', blogController.createBlog);

// 更新博客
router.post('/update', blogController.updateBlog);

// 删除博客
router.post('/delete', blogController.deleteBlog);

// 查询博客列表
router.post('/list', blogController.getBlogList);

// 查询博客详情
router.post('/detail', blogController.getBlogDetail);

// 发布博客
router.post('/publish', blogController.publishBlog);

// 取消发布博客
router.post('/unpublish', blogController.unpublishBlog);

// 获取博客管理页面初始化数据（优化：一次请求获取所有数据）
router.post('/init', blogController.getBlogInitData);

export default router;

